home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Business Master (4th Edition)
/
The Business Master - 4th Edition.iso
/
files
/
utilstem
/
ebl312
/
ebl407.exe
/
README2
< prev
next >
Wrap
Text File
|
1992-01-15
|
12KB
|
320 lines
DEAR SHAREWARE USER AND POTENTIAL CUSTOMER:
We are happy to provide you with this updated diskette. In
this edition there are several new functions based on ideas
from customers like yourself, plus a few bug fixes. We look
forward to improving the product further to meet your needs.
Complete details of all changes are shown below.
We would also like to extend a special offer to anyone
interested in further documentation. The entire text from
"The EBL-Plus Language - Users Guide" is included in this
distribution. Simply look at the users guide by typing
'VIEWBOOK EBLBOOK' at the system command prompt. This
hypertext guide allows you to quickly browse the entire
manual. We're sure you will find it useful. After
experiencing the power of EBL-Plus, batch files will never
be the same!
DETAIL OF CHANGES TO EBL-PLUS
* EBL 4.07
- Updated code which follows DOS's CALL chain to match
DOS5's characteristics. (thanks Arno Krakauer and
George Szentirmai)
- Updated code which closes files being read when
shelling. (Thanks Jim Fouch)
* EBL 4.06c
- Support added to recognize DOS 5.
- Added flexability when GOTO is used within a
BEGIN/END block to avoid many block nesting errors.
- A bug was fixed to allow a ';' (semicolon) character
to be used at the end of all TYPE statements after a
WINDOW() function, just like it can be used outside
of a window.
- The COLOR() function was enhanced to allow free-form
color names contained within variables. This feature
matches the capability of the Professional EBL-Plus
compiler version 1.02 and later.
* EBL 4.05
- A minor bug within the GOTO command caused it to be
slower than normal. It now runs at full speed.
Page 1
- KEY(PRTSC) key is recognized and will properly print
the screen on the line printer when the key is read
from the stack. The equivalent key value within
BEGSTACK is \F0\01.
- Inline code can be placed in the stack. If you are
familiar with assembly language programming, this
technique can provide extra power within the stack
in special instances. The executable code must be
preassembled and the hex machine code must be placed
in the stack using BEGSTACK. The prefix within
BEGSTACK is \F0\02\ss\cc\cc\cc ... \cc where ss is
the size of the code in bytes (0 to 255 bytes) and
cc is the hexadecimal value of each byte to execute.
The suffix \C3; must also be added. C3 is a near RET
instruction and the ';' prevents an implied Enter
key from being stacked. The registers AX, BX, CX,
DX, and SI will be saved prior to execution and can
be used freely as temporary storage. The DS
register will be the same as CS. On entry to the
inline code, AH=0 if the application is requesting a
keystroke, and AH=1 if requesting keyboard status
(refer to BIOS Int 16h for more information). DS:SI
will be set to the address of the inline code entry
point. If SI is zero before returning, EBL will
allow a single keystroke to be gotten from the
hardware and the inline code will be reexecuted. In
this case, other items on the keyboard stack will
not be used until the inline code returns SI
non-zero. The code must be fully relocatable
without any absolute addresses. If any other
registers are used, they must be saved and restored
within the inline code.
Some examples: The following will create a beep when
executed within the stack.
BEGSTACK
\f0\02\06\b8\07\0e\cd\10\c3;
END
It is equivalent to the following assembly language
code
Mov Ax,0E07h
Int 10h
Ret
The following will page eject the LPT1 printer
BEGSTACK
\f0\02\08\ba\00\00\b0\0c\cd\17\c3;
END
and is equivalent to
Mov Dx,0
Mov Al,0Ch
Int 17h
Ret
The following automatically types the word
'ACCOUNT', then will allow 3 keystrokes to be
Page 2
manually entered, then the enter key will be pressed
after this.
BEGSTACK
ACCOUNT;
\f0\02\12\EB\02\04\00\80\FC\00\75\05\FF\4C\02\74\03\BE\00\00\C3;
END
and the inline code is equivalent to the following.
This example demonstrates how local storage can be
maintained for the inline code. It also shows how
the stack can be stopped until specific events
occur, in this case waiting for the application to
request 3 keys.
Jmp short Me ; Jump over local storage
Dw 4 ; Define local counter
Me: Cmp Ah,0 ; Did App request a key?
Jne Restart ; No, am counting just keys
Dec Word ptr [si+2] ; Decrement the count of keys
Je Done ; Count is over?
Restart: Mov Si,0 ; No, SI = 0 means restart
Done: Ret ; Else continue & release stack
* EBL 4.04
- Corrected bug where drive letter was always required
for the updated CHDIR() function (e.g. CHDIR("C
:\SUB"). It is now optional as it was intended (e.g.
CHDIR("\SUB").
- The British spelling for CENTRE() was not
implemented correctly. Now both CENTER() and
CENTRE() perform the same function.
- A bug was fixed within the SPACE() function that
caused a hang if one non-blank character was used as
a fill.
- A SUBSTR() function has been added. This is a
superset of the existing substring operator '$'. The
syntax is: SUBSTR( string ,start {,length, {pad}} )
This function returns the sub-string of a (string)
starting at the (start) character within the string,
up to (length) characters long. If (length) is
longer than the original string, then a (pad)
character is appended. The default (length) is the
size of the original string. The default (pad)
character is a blank. A synonym for the SUBSTR()
function is MID(). Either function name can be used.
* EBL 4.03
- Corrected minor bug in DATE(Century) function.
- Corrected cursor positioning bug if READ was used
within a WINDOW.
- Updated EDIT() to read keystrokes from DOS rather
than BIOS to provide a system interface that works
Page 3
on a wider set of computers.
- Corrected SELECT() cursor positioning bug if used on
a slow PC.
- Updated CHDIR() function to also change the default
drive in addition to the current subdirectory.
* EBL 4.02
- On IBM's 101 key keyboard, the CHARIN() function
returned F1 and F2 when F11 and F12 was pressed
respectively. This has been fixed.
- A new /A option ignores DOS version checking (use
with caution). Must be used with /R option as in:
BAT /A /R PROGRAM.BAT to startup the batch file
named PROGRAM. This will allow EBL to work under
many DOS enhancers like PC-MOS and 4DOS.
- The EBL-Plus Professional version of EBL.BIN and
EBL0.BIN are released and match 4.02 in features and
capabilities. Both can be 'bound' to a batch file
with DOS's COPY command, then distributed royalty
free. The EBL0 version does not use or reference
any resident memory. By comparison, the EBL version
has a small TSR portion that remains resident just
like the matching BAT.COM. Please contact us at
1-800-634-8188 if you would like further information
about the EBL-Plus Professional version.
* 4.01
- KEY(" ") function within an expression returns
"KEY020" which matches the INKEY function. Formerly
it returned " " which was different from INKEY.
- Recognition of DOS 4.x rather than 4.0
- RANDOM( {{min, } max {,seed}} ) function has been
added. The default min is 0, default max is 999,
default seed is random based on time. If only one
parameter is supplied, it is a max and the min will
be 0. If seed is not given, seed is random (based
on system time). If a seed is given, it will
restart a repeatable pseudo random pattern.
- Correction made to DIR(file,R) command so that it
will restore properly.
- TRANSLATE( string {,{to list}{,{from list}{,pad}}} )
function has been added. This function translates a
string to different characters. If a character in
the string is found in the input list of characters
(from), then it will be translated to the
corresponding character in the output list (to). If
the character is not found in the input list, then
no change is made. If there are more characters in
{from} than {to}, it will be translated to a pad
Page 4
character. The default pad character is a blank.
The default output list is empty (null). If only a
string is supplied without any lists, then the
string will be translated to upper case. For
example:
TRANSLATE("12/23/56","-","/") == "12-23-56"
TRANSLATE("abcde","HEX","bcd") == "aHEXe"
TRANSLATE("abcde","1","bcd",".") == "a1..e"
- Correction made to an error inadvertently reported
when an extended BATXV variable was used in a SHELL
command.
- Correction made to duplicate CHDIR() function listed
in help screen.
Page 5